package day02;

public class HomeworkDay02 {
    public static void main(String[] args) {
        //声明一个变量，一次声明多个变量。
        int a ;
        int b,c,d;
        //声明变量直接初始化，先声明变量，而后再给变量初始化。
        int e = 250;
        int f;
        f= 360;
        f = 250;
        int h=8,i=10;
        //声明整型变量g，声明另一个整型变量h并赋值为g+10，输出变量h的值。
        int g = 5;
        int k = g+10;
        System.out.println(k);
        System.out.println("k");
        g=g+10;
        System.out.println(g);
        int balance = 100000;
        balance=balance-7000;
        System.out.println("账户余额为"+balance);//账户余额为93000
        //变量的用之前必须声明并初始化
        int m;
        //System.out.println(m);//错误，变量未声明

        //声明一些正确的和错误的变量名。
        int a1,a$_2,Aa;
        //int 1a,12;

        //声明初始化两个以上整数变量，并且输出两个整数变量的除法结果
        int c1=7,c2=3;
        System.out.println(c1/c2);//2

        //声明两个很大的变量，然后相加，
        //输出运算结果，测试运算溢出现象
        int big1 = 2147483647;
        int big2 = 2147483647;
        System.out.println(big1+big2);//-2

        //声明初始化两个以上的长整型变量
        long l1 = 123456789L;
        long l2 = 1000000000000000000L;

        //声明变量存储几个较大数据的运算，演示：若有可能溢出建议将L设计在第1个数字后。]
        long l3 = 1000000000*2*10L;
        System.out.println(l3);//2000000000
        long l4 = 1000000000*3*10L;//溢出
        System.out.println(l4);//-12949672960
        long l5 = 1000000000L*3*10;//未溢出
        System.out.println(l5);//3000000000

        //声明初始化两个以上的浮点型变量
        float f1 = 1.2f;
        float f2 = 3.4f;
        double d1 = 1.2;
        double d2 = 3.4;

        //声明几个浮点型变量并将它们做数学操作
        // 演示double运算的舍入误差问题
        double d3 = 0.1;
        double d4 = 0.2;
        System.out.println(d3+d4);//0.30000000000000004
        System.out.println(d3+d4==0.3);//false
        //声明初始化两个以上的布尔型变量
        boolean b1 = true;
        boolean b2 = false;
        //boolean b3 = 12345;//只能是true或false

        //声明初始化五个以上的字符型变量
        char c3 = 'a';
        char c4 = '沙';
        char c5 = '男';
        char c6 = ' ';
        char c7 = '！';

        //声明字符型变量，演示转义符
        char c8 = '\\';
        System.out.println(c8);//\
        char c9 = '\'';
        System.out.println(c9);


        //声明几个变量，演示自动类型转换和强制类型转换的语法
        int i1 = 10;
        double d5 = i1;
        System.out.println(d5);//10.0
        System.out.println((int)d5);//10

        //声明一个较大类型的长整型变量，演示强转可能会发生的溢出问题
        long l6 = 1000000000000000000L;
        System.out.println("l6转换为int型后为"+(int)l6);//l6转换为int型后为-1486618624

        //声明一个较大精度的浮点型变量，演示强转可能会发生的丢失精度问题
        double d6 = 12.3456789;
        System.out.println("d6转换为int型后为"+(int)d6);//d6转换为int型后为12，丢失精度

        //声明两个byte型变量b1和b2，并赋值为直接量
        byte b01 = 30;
        byte b02 = 15;
        byte b03 = (byte)(b01+b02);











    }
}
